Rongjun Bai’s project sharing

单变量绘图选择

本数据集探讨红酒质量与固定酸度、挥发性酸度等化学成分之间的关系,一共包含大约1599瓶红酒及其12个变量。
## 'data.frame':    1599 obs. of  12 variables:
##  $ fixed.acidity       : num  7.4 7.8 7.8 11.2 7.4 7.4 7.9 7.3 7.8 7.5 ...
##  $ volatile.acidity    : num  0.7 0.88 0.76 0.28 0.7 0.66 0.6 0.65 0.58 0.5 ...
##  $ citric.acid         : num  0 0 0.04 0.56 0 0 0.06 0 0.02 0.36 ...
##  $ residual.sugar      : num  1.9 2.6 2.3 1.9 1.9 1.8 1.6 1.2 2 6.1 ...
##  $ chlorides           : num  0.076 0.098 0.092 0.075 0.076 0.075 0.069 0.065 0.073 0.071 ...
##  $ free.sulfur.dioxide : num  11 25 15 17 11 13 15 15 9 17 ...
##  $ total.sulfur.dioxide: num  34 67 54 60 34 40 59 21 18 102 ...
##  $ density             : num  0.998 0.997 0.997 0.998 0.998 ...
##  $ pH                  : num  3.51 3.2 3.26 3.16 3.51 3.51 3.3 3.39 3.36 3.35 ...
##  $ sulphates           : num  0.56 0.68 0.65 0.58 0.56 0.56 0.46 0.47 0.57 0.8 ...
##  $ alcohol             : num  9.4 9.8 9.8 9.8 9.4 9.4 9.4 10 9.5 10.5 ...
##  $ quality             : int  5 5 5 6 5 5 5 7 7 5 ...
##  fixed.acidity   volatile.acidity  citric.acid    residual.sugar  
##  Min.   : 4.60   Min.   :0.1200   Min.   :0.000   Min.   : 0.900  
##  1st Qu.: 7.10   1st Qu.:0.3900   1st Qu.:0.090   1st Qu.: 1.900  
##  Median : 7.90   Median :0.5200   Median :0.260   Median : 2.200  
##  Mean   : 8.32   Mean   :0.5278   Mean   :0.271   Mean   : 2.539  
##  3rd Qu.: 9.20   3rd Qu.:0.6400   3rd Qu.:0.420   3rd Qu.: 2.600  
##  Max.   :15.90   Max.   :1.5800   Max.   :1.000   Max.   :15.500  
##    chlorides       free.sulfur.dioxide total.sulfur.dioxide
##  Min.   :0.01200   Min.   : 1.00       Min.   :  6.00      
##  1st Qu.:0.07000   1st Qu.: 7.00       1st Qu.: 22.00      
##  Median :0.07900   Median :14.00       Median : 38.00      
##  Mean   :0.08747   Mean   :15.87       Mean   : 46.47      
##  3rd Qu.:0.09000   3rd Qu.:21.00       3rd Qu.: 62.00      
##  Max.   :0.61100   Max.   :72.00       Max.   :289.00      
##     density             pH          sulphates         alcohol     
##  Min.   :0.9901   Min.   :2.740   Min.   :0.3300   Min.   : 8.40  
##  1st Qu.:0.9956   1st Qu.:3.210   1st Qu.:0.5500   1st Qu.: 9.50  
##  Median :0.9968   Median :3.310   Median :0.6200   Median :10.20  
##  Mean   :0.9967   Mean   :3.311   Mean   :0.6581   Mean   :10.42  
##  3rd Qu.:0.9978   3rd Qu.:3.400   3rd Qu.:0.7300   3rd Qu.:11.10  
##  Max.   :1.0037   Max.   :4.010   Max.   :2.0000   Max.   :14.90  
##     quality     
##  Min.   :3.000  
##  1st Qu.:5.000  
##  Median :6.000  
##  Mean   :5.636  
##  3rd Qu.:6.000  
##  Max.   :8.000
我们的数据集由12 个变量组成,具有1599 个观测值

通过对红酒质量分数进行可视化,我们可以看出得分范围为3-8,其中得分为5的红酒数量最多,其次是得分为6,7的红酒,得分为3分的红酒数量最少。我想知道得分较高的红酒都有哪些特征?

大部分红酒固定酸度(酒石酸 - g / dm ^ 3)在6.5 - 8.5 之间,最低酸度为4.60, 最高酸度为15.90.

挥发性酸度(乙酸 - g / dm ^ 3)最大值为1.5800,最小值为0.1200,大部分挥发性酸度处于
0.2-0.7之间。

柠檬酸(g / dm ^ 3)最大值为1,最小值为0,柠檬酸接近0.5左右的红酒数量最多。数据存在柠檬酸含量为0的情况,我认为此处应为异常值,这里有待后续进一步研究。

放大处理

残糖(g / dm ^ 3)最大值为15.5, 最小值为0.9,大部分红酒残糖水平处于1.5-3.0之间,这里最大
值达到15.5, 而且残糖水平从7之后的红酒数量都很少,这里我比较感兴趣残糖水平是否越高,最后的质量评分就越高?

异常值处理,放大图像

氯化物(氯化钠 - g / dm ^ 3)氯化物最大值0.611,最小值0.012,氯化物水平集中在0.03-0.12之间。

放大图像

游离二氧化硫(mg / dm ^ 3)最大值为72,最小值为1,游离二氧化硫水平在为6左右时,红酒数量
到达峰值

通过上图我们看到二氧化硫(mg / dm ^ 3)的图像呈长尾形,且最大值远远大于其他值,所以这里
怀疑其为异常值,真实性有待后续进一步研究。接着进一步对x轴进行优化。

上图为移除疑似异常值后得到的二氧化硫总量图像。可以看出总二氧化硫水平集中在6- 50(mg / dm ^ 3)之间。

密度(g / cm ^ 3)最大值为1.0037, 最小值为0.9901, 因为红酒中主要成分为水,故红酒密度
在1左右。

PH含量最大值为4.01, 最小值为2.740。大多数红酒PH范围在3.14- 3.5之间。

放大图像

硫酸盐(硫酸钾 - g / dm3)最大值为2,最低值为0.33,多数红酒硫酸盐水平处于0.43-0.83之间。

酒精(体积%)最大值为14.90, 最小值为8.4, 多数红酒酒精处于9.9-11之间。
挥发性酸度含量过高,会产生令人不愉悦的气味,所以我想对挥发性酸度与挥发性酸度,固定酸度之和之间的比率进一步探究。

从图中我们可以看见大部分红酒的挥发性酸度占比在0.02-0.09之间

单变量分析

你的数据集结构是什么?

数据集共有1599瓶红酒,有12个特征(固定酸度,挥发性酸度,柠檬酸,残糖等)。
其他:
1. PH中位数为3.31
2. 质量评分平均为5.636分
3. 大多数红酒评分在5分以上

你的数据集内感兴趣的主要特性有哪些?

我想确定哪些因素会影响最终的质量评分,我怀疑评分会与其中某些特征的组合可以用来建立一个
预测模型预测红酒质量评分。

你认为数据集内哪些其他特征可以帮助你探索兴趣特点?

挥发性酸度,残糖,PH,酒精可能会对质量评分影响较大

根据数据集内已有变量,你是否创建了任何新变量?

我用挥发性酸度与挥发性酸度,固定酸度之和之间的比率创建了ratio_volatile.acidity,我想探究挥发性酸度对质量评分的影响。

在已经探究的特性中,是否存在任何异常分布?你是否对数据进行一些操作,如清洁、调整或改变数据的形式?如果是,你为什么会这样做?

在对数据进行汇总时,发现柠檬酸含量最小值为0的异常情况,怀疑是数据录入错误或者确实数据的情况;总二氧化硫含量最大值为289,远远大于其他值,怀疑是错误数据,最终在图像上进行了相应的变化。增加了ratio_volatile.acidity变量数据,其余没有对数据进行进一步处理,因为对其中疑似异常值的数据不了解其原因。

双变量绘图选择

计算各变量相关系数
##                        fixed.acidity volatile.acidity citric.acid
## fixed.acidity             1.00000000     -0.256130895  0.67170343
## volatile.acidity         -0.25613089      1.000000000 -0.55249568
## citric.acid               0.67170343     -0.552495685  1.00000000
## residual.sugar            0.11477672      0.001917882  0.14357716
## chlorides                 0.09370519      0.061297772  0.20382291
## free.sulfur.dioxide      -0.15379419     -0.010503827 -0.06097813
## total.sulfur.dioxide     -0.11318144      0.076470005  0.03553302
## density                   0.66804729      0.022026232  0.36494718
## pH                       -0.68297819      0.234937294 -0.54190414
## sulphates                 0.18300566     -0.260986685  0.31277004
## alcohol                  -0.06166827     -0.202288027  0.10990325
## quality                   0.12405165     -0.390557780  0.22637251
## ratio_volatile.acidity   -0.61795497      0.897649036 -0.72491130
##                        residual.sugar    chlorides free.sulfur.dioxide
## fixed.acidity             0.114776724  0.093705186        -0.153794193
## volatile.acidity          0.001917882  0.061297772        -0.010503827
## citric.acid               0.143577162  0.203822914        -0.060978129
## residual.sugar            1.000000000  0.055609535         0.187048995
## chlorides                 0.055609535  1.000000000         0.005562147
## free.sulfur.dioxide       0.187048995  0.005562147         1.000000000
## total.sulfur.dioxide      0.203027882  0.047400468         0.667666450
## density                   0.355283371  0.200632327        -0.021945831
## pH                       -0.085652422 -0.265026131         0.070377499
## sulphates                 0.005527121  0.371260481         0.051657572
## alcohol                   0.042075437 -0.221140545        -0.069408354
## quality                   0.013731637 -0.128906560        -0.050656057
## ratio_volatile.acidity   -0.048915832 -0.008546520         0.043217407
##                        total.sulfur.dioxide     density          pH
## fixed.acidity                   -0.11318144  0.66804729 -0.68297819
## volatile.acidity                 0.07647000  0.02202623  0.23493729
## citric.acid                      0.03553302  0.36494718 -0.54190414
## residual.sugar                   0.20302788  0.35528337 -0.08565242
## chlorides                        0.04740047  0.20063233 -0.26502613
## free.sulfur.dioxide              0.66766645 -0.02194583  0.07037750
## total.sulfur.dioxide             1.00000000  0.07126948 -0.06649456
## density                          0.07126948  1.00000000 -0.34169933
## pH                              -0.06649456 -0.34169933  1.00000000
## sulphates                        0.04294684  0.14850641 -0.19664760
## alcohol                         -0.20565394 -0.49617977  0.20563251
## quality                         -0.18510029 -0.17491923 -0.05773139
## ratio_volatile.acidity           0.08260807 -0.27834445  0.51275106
##                           sulphates     alcohol     quality
## fixed.acidity           0.183005664 -0.06166827  0.12405165
## volatile.acidity       -0.260986685 -0.20228803 -0.39055778
## citric.acid             0.312770044  0.10990325  0.22637251
## residual.sugar          0.005527121  0.04207544  0.01373164
## chlorides               0.371260481 -0.22114054 -0.12890656
## free.sulfur.dioxide     0.051657572 -0.06940835 -0.05065606
## total.sulfur.dioxide    0.042946836 -0.20565394 -0.18510029
## density                 0.148506412 -0.49617977 -0.17491923
## pH                     -0.196647602  0.20563251 -0.05773139
## sulphates               1.000000000  0.09359475  0.25139708
## alcohol                 0.093594750  1.00000000  0.47616632
## quality                 0.251397079  0.47616632  1.00000000
## ratio_volatile.acidity -0.277126392 -0.09587272 -0.34692938
##                        ratio_volatile.acidity
## fixed.acidity                     -0.61795497
## volatile.acidity                   0.89764904
## citric.acid                       -0.72491130
## residual.sugar                    -0.04891583
## chlorides                         -0.00854652
## free.sulfur.dioxide                0.04321741
## total.sulfur.dioxide               0.08260807
## density                           -0.27834445
## pH                                 0.51275106
## sulphates                         -0.27712639
## alcohol                           -0.09587272
## quality                           -0.34692938
## ratio_volatile.acidity             1.00000000
建立散点图矩阵

从散点图矩阵中我们可以看出质量评分似乎与酒精相关性较大,质量与固定酸度也有一定的相关性。此外新创建的变量(ratio_volatile.acidity)似乎与评分没有太大相关性。
酒精与质量评分

经过数据抖动处理,发现酒精与质量评分有一定的关系,随着质量评分的增高,酒精含量也有所升高。因为质量评分是分类变量,所以我们可以用箱线图进一步来探究它们之间的关系。

图中红点表示酒精含量平均值。从箱线图我们可以看出随着红酒质量评分的增加,酒精含量也逐渐上升,表明质量与酒精含量有较强相关性。这里让我不明白的事在质量为5时,酒精含量平均值低于评分为3,4的平均数。
质量与固定酸度

箱线图中红点表示固定酸度平均值,随着质量的增加,红酒的固定酸度有小幅升高,从拟合的回归线来看,质量与固定酸度也有一定的相关性。
分别计算质量与酒精和固定酸度的相关系数
#分别计算质量与酒精和固定酸度的相关系数
cor.test(wq$quality, wq$alcohol)
## 
##  Pearson's product-moment correlation
## 
## data:  wq$quality and wq$alcohol
## t = 21.639, df = 1597, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.4373540 0.5132081
## sample estimates:
##       cor 
## 0.4761663
cor.test(wq$quality, wq$fixed.acidity)
## 
##  Pearson's product-moment correlation
## 
## data:  wq$quality and wq$fixed.acidity
## t = 4.996, df = 1597, p-value = 6.496e-07
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.07548957 0.17202667
## sample estimates:
##       cor 
## 0.1240516
由相关系数结果来看,质量与固定酸度相关度没有质量与酒精含量相关度高。
质量与挥发性酸度

箱线图中红点表示挥发性酸度的平均值,由图我们可以得知,质量与挥发性酸度成反比。
质量与柠檬酸

上图中红点表示柠檬酸平均值,由图我们可以得知质量与柠檬酸含量成正比。
质量与硫酸盐

上图中红点代表硫酸盐含量平均值,由图可知质量与硫酸盐含量成正比。
建立线性回归模型
## 
## Calls:
## m1: lm(formula = I(quality) ~ I(alcohol), data = wq)
## m2: lm(formula = I(quality) ~ I(alcohol) + alcohol, data = wq)
## m3: lm(formula = I(quality) ~ I(alcohol) + alcohol + volatile.acidity, 
##     data = wq)
## m4: lm(formula = I(quality) ~ I(alcohol) + alcohol + volatile.acidity + 
##     citric.acid, data = wq)
## m5: lm(formula = I(quality) ~ I(alcohol) + alcohol + volatile.acidity + 
##     citric.acid + sulphates, data = wq)
## m6: lm(formula = I(quality) ~ I(alcohol) + alcohol + volatile.acidity + 
##     citric.acid + fixed.acidity, data = wq)
## 
## ==================================================================================================
##                         m1           m2           m3           m4           m5           m6       
## --------------------------------------------------------------------------------------------------
##   (Intercept)          1.875***     1.875***     3.095***     3.055***     2.646***     2.622***  
##                       (0.175)      (0.175)      (0.184)      (0.194)      (0.201)      (0.219)    
##   I(alcohol)           0.361***     0.361***     0.314***     0.314***     0.309***     0.325***  
##                       (0.017)      (0.017)      (0.016)      (0.016)      (0.016)      (0.016)    
##   volatile.acidity                              -1.384***    -1.343***    -1.265***    -1.420***  
##                                                 (0.095)      (0.114)      (0.113)      (0.115)    
##   citric.acid                                                 0.068       -0.079       -0.314*    
##                                                              (0.103)      (0.104)      (0.137)    
##   sulphates                                                                0.696***               
##                                                                           (0.103)                 
##   fixed.acidity                                                                         0.056***  
##                                                                                        (0.013)    
## --------------------------------------------------------------------------------------------------
##   R-squared            0.227        0.227        0.317        0.317        0.336        0.325     
##   N                 1599         1599         1599         1599         1599         1599         
## ==================================================================================================
##   Significance: *** = p < 0.001; ** = p < 0.01; * = p < 0.05
对红酒质量与固定酸度,挥发性酸度等5个特征变量建立模型。从上图我们可以看出线性模型拟合度不是很高,红酒质量的线性模型有待进一步探究。
挥发性酸度与酒精

从上图我们可以观察到挥发性酸度与酒精成反比关系。
柠檬酸与酒精

从上图我们可以看出,随着柠檬酸含量的增加,酒精含量也在逐渐上升,但是上升幅度较小,两者有一定的正相关关系。
pH与酒精

由上图我们可以看出pH与酒精含量有正相关关系。
pH与柠檬酸

由上图我们可以看出pH与柠檬酸有反比关系,随着ph增大,柠檬酸含量水平逐渐下降。
pH与固定酸度

从上图中我们可以看出ph与固定酸度成很强的反比关系。
计算质量与挥发性酸度比率
cor.test(wq$quality, wq$ratio_volatile.acidity) #计算质量与挥发性酸度比率
## 
##  Pearson's product-moment correlation
## 
## data:  wq$quality and wq$ratio_volatile.acidity
## t = -14.782, df = 1597, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.3893292 -0.3030624
## sample estimates:
##        cor 
## -0.3469294
通过计算质量与挥发性酸度比率我们可以看出两者有一定的负相关关系。

双变量分析

探讨你在这部分探究中观察到的一些关系。这些感兴趣的特性与数据集内其他特性有什么区别?

通过观察,我发现质量与酒精、柠檬酸、固定酸度、硫酸盐有正相关关系,其中与酒精有很强的正相关关系;质量与挥发性酸度有很强负相关关系,我自定义的变量挥发性酸度比率也与质量存在负相关关系,这与我开始的预测一致。

你是否观察到主要特性与其他特性之间的有趣关系?

随着酒精含量水平的升高,挥发性酸度逐渐呈下降趋势,挥发性酸度含量过高会产生令人不愉悦的气味,而质量较高的红酒酒精含量普遍较高,所以这里我猜测挥发性酸度与酒精含量可能对质量的评定有很大的影响。

你发现最强的关系是什么?

我发现的最强关系是固定酸度与pH之间的关系,他们之间存在很强的正相关关系,相关系数为 -0.683。

多变量绘图选择

挥发性酸度、酒精与质量

从上图我们可以看到,当酒精含量较低时,无论挥发性酸度怎么变化,质量都没有太大变化,当挥发性酸度含量较高时,酒的质量也不会太高,只有两者在一定的区间内,酒的质量才会比较好。
柠檬酸、酒精与质量

从上图中我们可以看出评分为4、5、6、7的红酒不论酒精与柠檬酸含量如何变化,质量都没有太大变化,得分最低和最高的红酒质量会随着酒精度的降低和柠檬酸的升高而升高。
pH、酒精与质量

从上图中我们发现所有红酒的质量随着酒精含量与pH的增加也随之增加,但是得分最低和最高的红酒质量增长趋势比其他酒要更快。
pH、固定酸度与质量

由上图我们可以看出随着pH的增加,各评分酒中固定酸度与质量之间的变化趋势基本相似,没有太大差异。
pH、柠檬酸与质量

由上图可以看出pH含量和柠檬酸过低或过高时,酒的质量都成上升趋势,让我感到意外的是质量评分最低的红酒增长趋势更快。

多变量分析

探讨你在这部分探究中观察到的一些关系。通过观察感兴趣的特性,是否存在相互促进的特性?

1. 当酒精含量较低时,无论挥发性酸度怎么变化,质量都没有太大变化,当挥发性酸度含量较高时,酒的质量也不会太高,只有两者在一定的区间内,酒的质量才会比较好。
2. 得分最低和最高的红酒在酒精与柠檬酸中变化趋势大致形同,酒精与pH中也出现了相同的情况。这里我猜测酒精与柠檬酸有相互促进的特性。
3.pH含量和柠檬酸过低或过高时,酒的质量都成上升趋势,让我感到意外的是质量评分最低的红酒增长趋势更快。

这些特性之间是否存在有趣或惊人的联系呢?

查阅资料我了解到酸度是衡量葡萄酒很重要的一个指标,酸度给葡萄酒增添了活力与清爽之感。它能使得葡萄酒的风味更加突出,高酸度有助于二氧化硫的保鲜作用,大多数菌类无法在这么恶劣的环境里生存。通过以上观察,我发现pH与酒精有很强的促进关系,我猜想这也是能够就是为什么酒越放越陈,越陈越好喝。

选项:你是否创建过数据集的任何模型?讨论你模型的优缺点。

我尝试创建一个模型,但从结果来看不是很理想,我猜测可能是由于初期对于影响质量评分的特征有点凭借自己的感觉,并没有经过一定验证,再者我认为有一些可能会影响质量的一些条件数据集中没有提到,如时间,葡萄酒产地等。

定稿图与总结

pH、柠檬酸与质量

描述一

挥发性酸度较低的红酒,质量相对较好;挥发性酸度较高的红酒,质量相对较差。质量较好的红酒有较低的pH值和挥发性酸度。

质量与酒精、挥发性酸度

描述二

高评分红酒中酒精含量较高,挥发性酸度较低;相反,低评分酒中酒精含量较低,挥发性酸度较高。

酒精、pH和质量

描述三

从图中我们可以看出酒精含量高的葡萄酒,质量相对高些;同样:酒精含量低的葡萄酒,质量也相对偏低; pH值值与酒精含量和葡萄酒质量之间的关系并不十分明显。这里我猜想专家在对红酒进行质量评分时,是对红酒的各项指标进行综合评分,某一项特别突出或者差强人意都不会对最终评分造成太大影响,这也说明了专家在对红酒进行质量评分是还是比较客观的。但我认为红酒的质量要从多方面去进行,不仅是对其化学成分层面,感官测评也很重要,接下来希望能有更多的特征能够加入,争取获得更有说服力的分析结果。

反思

在做项目中遇到的最大困难就是在箱线图中添加回归线,通过Google查找资料,优达论坛等一步步尝试,最终完成了回归线的添加,我认为我获得的成功就是在自己的努力下,独立的完成了R项目。在对项目数据进行单变量可视化分析时发现存在异常值的现象,我就对图像进行放大处理来处理异常值,这让我更好的观察到一些变量的分布情况。
在今后的数据分析的过程中,我会继续保持一颗上进的心,不断提高对数据的敏感度,加入更多的可视化图表来表现变量之间的关系,注意作图细节,完善分析框架,进一步丰富分析内容和提高报告质量!Keep Learning and Stay Udacious!

注意:本项目所引用数据集信息如下

P. Cortez, A. Cerdeira, F. Almeida, T. Matos and J. Reis.
Modeling wine preferences by data mining from physicochemical properties.
In Decision Support Systems, Elsevier, 47(4):547-553. ISSN: 0167-9236.